{
  "openapi": "3.0.1",
  "info": {
    "title": "Concurrence and Referral - ePlanning to Agency API",
    "description": "# Authentication    \n\n Please use the subscription key provided by the Department to access the APIs.\n",
    "contact": {},
    "version": "v1"
  },
  "servers": [
    {
      "url": "https://api-uat.apps1.nsw.gov.au/planning"
    }
  ],
  "paths": {
    "/CreateCNR/{CaseID}": {
      "post": {
        "summary": "CreateCNR",
        "description": "This operation transfers the Council's decision to create the Concurrence and Referral case from ePlanning's IT system to the agency's Online Concurrence and Referral Service. In this operation respective agency cases are created based on clauses present in CNR case .",
        "operationId": "CreateCNR",
        "parameters": [
          {
            "name": "CaseID",
            "in": "path",
            "description": "A fully qualified Concurrence and Referral case number",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "OrganisationID",
            "in": "header",
            "description": "The council LGA name to indicate where the request is originated from.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "IdempotencyID",
            "in": "header",
            "description": "Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically, a UUID such as \"63a9ba30-7a4b-4fac-b343-d1f05cf089f1\"",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Information request object",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCNR"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Case updated",
            "content": {}
          },
          "400": {
            "description": "Invalid request supplied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Case not found or locked by another user",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "deprecated": false,
        "x-codegen-request-body-name": "body"
      }
    },
    "/UpdateCNR/{CaseID}": {
      "put": {
        "summary": "UpdateCNR",
        "description": "This operation transfers the Council's decision to edit the Concurrence and Referral case from ePlanning's IT system to the Agency's online Concurrence and Referral Service. In this operation,council can edit CNR application details, add new agency or modify existing clause of an agency.",
        "operationId": "UpdateCNR",
        "parameters": [
          {
            "name": "CaseID",
            "in": "path",
            "description": "A fully qualified Concurrence and Referral application number",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "OrganisationID",
            "in": "header",
            "description": "The council name to indicate where the request is originated from.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "IdempotencyID",
            "in": "header",
            "description": "Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically, a UUID such as \"63a9ba30-7a4b-4fac-b343-d1f05cf089f1\"",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Information request object",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCNR"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Case updated",
            "content": {}
          },
          "400": {
            "description": "Invalid request supplied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Case not found or locked by another user",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "deprecated": false,
        "x-codegen-request-body-name": "body"
      }
    },
    "/CNRCancel/{CaseID}": {
      "put": {
        "summary": "CNRCancel",
        "description": "This operation transfers the Council's decision to cancel the Concurrence and Referral  application.",
        "operationId": "CNRCancel",
        "parameters": [
          {
            "name": "CaseID",
            "in": "path",
            "description": "A fully qualified Concurrence and Referral case",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "OrganisationID",
            "in": "header",
            "description": "The council LGA name to indicate where the response is originating from.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "IdempotencyID",
            "in": "header",
            "description": "Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically, a UUID such as \"63a9ba30-7a4b-4fac-b343-d1f05cf089f1\"",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Information request object",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/cancel"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Case Cancelled",
            "content": {}
          },
          "400": {
            "description": "Invalid request supplied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Case not found or locked by another user",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "deprecated": false,
        "x-codegen-request-body-name": "body"
      }
    },
    "/CNRPaymentNotification/{CaseID}": {
      "put": {
        "summary": "CNRPaymentNotification",
        "description": "This operation transfers the payment done by applicant on CNR application from ePlanning's IT system to Agency's IT System.",
        "operationId": "CNRPaymentNotification",
        "parameters": [
          {
            "name": "CaseID",
            "in": "path",
            "description": "A fully qualified Concurrence and Referral case Number",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "OrganisationID",
            "in": "header",
            "description": "The council LGA name to indicate where the request is originated from.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "IdempotencyID",
            "in": "header",
            "description": "Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically, a UUID such as \"63a9ba30-7a4b-4fac-b343-d1f05cf089f1\"",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Information request object",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Payment"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Payment successful",
            "content": {}
          },
          "400": {
            "description": "Invalid request supplied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Case not found or locked by another user",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "deprecated": false,
        "x-codegen-request-body-name": "body"
      }
    },
    "/CNRUploadAgencyCommunication/{CaseID}": {
      "put": {
        "summary": "CNRUploadAgencyCommunication",
        "description": "This operation transfers the communication document uploaded by the council on the CNR case to the Agency's IT system.",
        "operationId": "CNRUploadAgencyCommunication",
        "parameters": [
          {
            "name": "CaseID",
            "in": "path",
            "description": "A fully qualified Concurrence and Referral case number",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "OrganisationID",
            "in": "header",
            "description": "The council LGA name to indicate where the request is originated from.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "IdempotencyID",
            "in": "header",
            "description": "Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically, a UUID such as \"63a9ba30-7a4b-4fac-b343-d1f05cf089f1\"",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Information request object",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UploadAgencyCommunication"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Document uploaded successfully",
            "content": {}
          },
          "400": {
            "description": "Invalid request supplied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Case not found or locked by another user",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "deprecated": false,
        "x-codegen-request-body-name": "body"
      }
    },
    "/CNRUploadSubmission/{CaseID}": {
      "put": {
        "summary": "CNRUploadSubmission",
        "description": "This operation transfers the Public submission documents(related to DA Exhibition) uploaded by the council on the CNR case to the Agency's IT system.",
        "operationId": "CNRUploadSubmission",
        "parameters": [
          {
            "name": "CaseID",
            "in": "path",
            "description": "A fully qualified Concurrence and Referral case number",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "OrganisationID",
            "in": "header",
            "description": "The council LGA name to indicate where the request is originated from.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "IdempotencyID",
            "in": "header",
            "description": "Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically, a UUID such as \"63a9ba30-7a4b-4fac-b343-d1f05cf089f1\"",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Information request object",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UploadSubmission"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Document uploaded successfully",
            "content": {}
          },
          "400": {
            "description": "Invalid request supplied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Case not found or locked by another user",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "deprecated": false,
        "x-codegen-request-body-name": "body"
      }
    },
    "/WithdrawAgency/{CaseID}": {
      "put": {
        "summary": "WithdrawAgency",
        "description": "This operation transfers Council decision to withdraw particular agency application.",
        "operationId": "WithdrawAgency",
        "parameters": [
          {
            "name": "CaseID",
            "in": "path",
            "description": "A fully qualified Agency Concurrence and Referral case number",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "OrganisationID",
            "in": "header",
            "description": "The council LGA name to indicate where the request is originated from.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "IdempotencyID",
            "in": "header",
            "description": "Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically, a UUID such as \"63a9ba30-7a4b-4fac-b343-d1f05cf089f1\"",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Information request object",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WithdrawAgency"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "case updated",
            "content": {}
          },
          "400": {
            "description": "Invalid request supplied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Case not found or locked by another user",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "deprecated": false,
        "x-codegen-request-body-name": "body"
      }
    },
    "/CNRUpdateMetadata/{CaseID}": {
      "put": {
        "summary": "CNRUpdateMetadata",
        "description": "This operation enables user to mark or update sensitive and assessment documents.",
        "operationId": "CNRUpdateMetadata",
        "parameters": [
          {
            "name": "OrganisationID",
            "in": "header",
            "description": "Used by the API gateway to route the request to the council's API endpoint.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "CaseID",
            "in": "path",
            "description": "A fully qualified application number or case id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "IdempotencyID",
            "in": "header",
            "description": "Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically, a UUID such as \"63a9ba30-7a4b-4fac-b343-d1f05cf089f1\"",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Information request object",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MetaData"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Metadata updated successfully.",
            "content": {}
          },
          "400": {
            "description": "Invalid request supplied",
            "content": {
              "application/*": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Case not found or locked by another user",
            "content": {
              "application/*": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/CNRUpdateAdditionalInfo/{CaseID}": {
      "put": {
        "summary": "CNRUpdateAdditionalInfo",
        "description": "This operation transfers the additional information provided by Council (requested by particular Agency) from ePlanning's IT system to the Agency's IT System.",
        "operationId": "CNRUpdateAdditionalInfo",
        "parameters": [
          {
            "name": "OrganisationID",
            "in": "header",
            "description": "Used by the API gateway to route the request to the council's API endpoint.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "CaseID",
            "in": "path",
            "description": "A fully qualified application number or case id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "IdempotencyID",
            "in": "header",
            "description": "Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically, a UUID such as \"63a9ba30-7a4b-4fac-b343-d1f05cf089f1\"",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Information request object",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProvideAdditionalInformation"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "case updated",
            "content": {}
          },
          "400": {
            "description": "Invalid request supplied",
            "content": {
              "application/*": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Case not found or locked by another user",
            "content": {
              "application/*": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/RelayCNRUpdateAdditionalInfo/{CaseID}": {
      "put": {
        "summary": "RelayCNRUpdateAdditionalInfo",
        "description": "This operation transfers the updates of other agencies through relay when council provides additional information (requested by particular Agency)from ePlanning's IT system to the Agency's IT System.",
        "operationId": "RelayCNRUpdateAdditionalInfo",
        "parameters": [
          {
            "name": "OrganisationID",
            "in": "header",
            "description": "Used by the API gateway to route the request to the council's API endpoint.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "IdempotencyID",
            "in": "header",
            "description": "Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically, a UUID such as \"63a9ba30-7a4b-4fac-b343-d1f05cf089f1\"",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "CaseID",
            "in": "path",
            "description": "A fully qualified application number or case id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Information request object",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProvideAdditionalInformation"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "case updated.",
            "content": {}
          },
          "400": {
            "description": "Invalid request supplied",
            "content": {
              "application/*": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Case not found or locked by another user",
            "content": {
              "application/*": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "body"
      }
    },
    "/RelayUploadAgencyCommunication/{CaseID}": {
      "put": {
        "summary": "RelayUploadAgencyCommunication",
        "description": "This operation transfers the updates of other agencies use Relay Function.This operation transfers the communication document uploaded by the council on the CNR case to the Agency's IT system.",
        "operationId": "RelayUploadAgencyCommunication",
        "parameters": [
          {
            "name": "CaseID",
            "in": "path",
            "description": "A fully qualified Concurrence and Referral case number",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "OrganisationID",
            "in": "header",
            "description": "The council LGA name to indicate where the request is originated from.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "IdempotencyID",
            "in": "header",
            "description": "Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically, a UUID such as \"63a9ba30-7a4b-4fac-b343-d1f05cf089f1\"",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Information request object",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UploadAgencyCommunication"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Document uploaded successfully",
            "content": {}
          },
          "400": {
            "description": "Invalid request supplied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Case not found or locked by another user",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "deprecated": false,
        "x-codegen-request-body-name": "body"
      }
    },
    "/RelayCNRReassign/{CaseID}": {
      "put": {
        "summary": "RelayCNRReassign",
        "description": "This operation provides updates on reassigning CNR Council case officer to Agency's IT System. CNR Case is re-assigned to another Case Officer within same council .",
        "operationId": "RelayCNRReassign",
        "parameters": [
          {
            "name": "CaseID",
            "in": "path",
            "description": "A fully qualified Portal Application Number (Case ID).",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "OrganisationID",
            "in": "header",
            "description": "Used by the API gateway to route the request to the council's API endpoint",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "IdempotencyID",
            "in": "header",
            "description": "Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically, a UUID such as \"63a9ba30-7a4b-4fac-b343-d1f05cf089f1\"",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Information request object",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/reassign"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Case reassigned",
            "content": {}
          },
          "400": {
            "description": "Invalid request supplied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Case not found or locked by another user",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "deprecated": false,
        "x-codegen-request-body-name": "body"
      }
    },
    "/RelayWithdrawAgency/{CaseID}": {
      "put": {
        "summary": "RelayWithdrawAgency",
        "description": "This operation transfers Council decision to withdraw particular Agency.Relay Function provide updates of other agencies.  application.",
        "operationId": "RelayWithdrawAgency",
        "parameters": [
          {
            "name": "CaseID",
            "in": "path",
            "description": "A fully qualified Agency Concurrence and Referral case number",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "OrganisationID",
            "in": "header",
            "description": "The council LGA name to indicate where the request is originated from.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "IdempotencyID",
            "in": "header",
            "description": "Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically, a UUID such as \"63a9ba30-7a4b-4fac-b343-d1f05cf089f1\"",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Information request object",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WithdrawAgency"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "case withdrawn",
            "content": {}
          },
          "400": {
            "description": "Invalid request supplied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Case not found or locked by another user",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "deprecated": false,
        "x-codegen-request-body-name": "body"
      }
    },
    "/RelayAgencyAcceptReturn/{CaseID}": {
      "put": {
        "summary": "RelayAgencyAcceptReturn",
        "description": "To get updates of other agencies use Relay Function .This operation transfers the agency's pre-assessment(accepted,Rejected etc)on Agency application from agency's IT system to the ePlanning's IT System.\"",
        "operationId": "RelayAgencyAcceptReturn",
        "parameters": [
          {
            "name": "CaseID",
            "in": "path",
            "description": "A fully qualified Agency Concurrence and Referral case. E.g. A-xxx case",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "OrganisationID",
            "in": "header",
            "description": "The council LGA name or Agency Organisation name to indicate where the request has originated from.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "IdempotencyID",
            "in": "header",
            "description": "Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically, a UUID such as \"63a9ba30-7a4b-4fac-b343-d1f05cf089f1\"",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Information request object",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PreAssessment"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Case Submitted by Applicant",
            "content": {}
          },
          "400": {
            "description": "Invalid request supplied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "deprecated": false,
        "x-codegen-request-body-name": "body"
      }
    },
    "/RelayAgencyDecision/{CaseID}": {
      "put": {
        "summary": "RelayAgencyDecision",
        "description": "This operation transfers particular agency's decision(approve, approve (with conditions),Refuse, Advice, Decision not required ) from agency's IT system to ePlanning's IT System. This is to get updates of other agencies using Relay Function .",
        "operationId": "RelayAgencyDecision",
        "parameters": [
          {
            "name": "CaseID",
            "in": "path",
            "description": "A fully qualified Agency Concurrence and Referral case. E.g. A-xxx case",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "OrganisationID",
            "in": "header",
            "description": "The council LGA name to indicate where the request is originated from.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "IdempotencyID",
            "in": "header",
            "description": "Unique Id for this request. Allows the API to respond in an idempotent way if it has already been called with these parameters and prevents duplicate processing. Typically, a UUID such as \"63a9ba30-7a4b-4fac-b343-d1f05cf089f1\"",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Information request object",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RelayAgencyDecision"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "case updated",
            "content": {}
          },
          "400": {
            "description": "Invalid request supplied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Case not found or locked by another user",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        },
        "deprecated": false,
        "x-codegen-request-body-name": "body"
      }
    }
  },
  "components": {
    "schemas": {
      "Error": {
        "title": "Error",
        "required": [
          "errorCode",
          "statusCode"
        ],
        "type": "object",
        "properties": {
          "statusCode": {
            "type": "integer",
            "format": "int32",
            "example": 404
          },
          "message": {
            "type": "string",
            "example": "Internal Server error 19876"
          },
          "activityId": {
            "type": "string",
            "example": "00000011-0ab-xy00-0000-500000000000"
          },
          "errorCode": {
            "type": "string",
            "example": "DPE_TMS01",
            "minLength": 1
          },
          "errorDetails": {
            "type": "string",
            "example": "Inner Exceptions, Stack Trace, etc"
          }
        }
      },
      "MetaData": {
        "title": "MetaData",
        "type": "object",
        "required": [
          "updatedBy"
        ],
        "properties": {
          "caseStatus": {
            "maxLength": 32,
            "type": "string",
            "description": "Status of the Concurrence and Referral case",
            "example": "submitted"
          },
          "agencies": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/agencyInfo"
            }
          },
          "documents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentsInfo"
            }
          },
          "updatedBy": {
            "$ref": "#/components/schemas/UpdatedBy"
          }
        }
      },
      "ProvideAdditionalInformation": {
        "type": "object",
        "properties": {
          "caseStatus": {
            "maxLength": 32,
            "type": "string",
            "description": "Status of the Concurrence and Referral case",
            "example": "submitted"
          },
          "additionalInfoProvided": {
            "title": "Does the applicant agree to provide the information",
            "type": "boolean",
            "description": "it infers whether the applicant agrees to provide the information requested"
          },
          "allAdditionalInfoRequests": {
            "type": "array",
            "description": "The additional information requests made earlier.",
            "items": {
              "$ref": "#/components/schemas/ProvideAdditionalInfo"
            }
          },
          "agencies": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/agencyInfo"
            }
          },
          "documents": {
            "type": "array",
            "description": "Documnets uploaded by council. only applicable when additionalInfoProvided is- \"true\"",
            "items": {
              "$ref": "#/components/schemas/DownloadableDocument"
            }
          },
          "updatedBy": {
            "$ref": "#/components/schemas/UpdatedBy"
          }
        }
      },
      "DocumentsInfo": {
        "type": "object",
        "properties": {
          "docType": {
            "type": "string",
            "description": "Document Category",
            "example": "Fee estimate"
          },
          "attachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AttachmentInfo"
            }
          }
        }
      },
      "AttachmentInfo": {
        "required": [
          "docID",
          "isSensitiveDoc"
        ],
        "type": "object",
        "properties": {
          "docID": {
            "type": "string",
            "description": "Document Id which was received as part of outbound call.",
            "example": "DATA-WORKATTACH-FILE PEC-DPE-EP-WORK CDC-7850!20201124T125127.562 GMT",
            "minLength": 1
          },
          "docName": {
            "type": "string",
            "description": "Document Name which was received as part of outbound call.",
            "example": "FeeEstimate_1619732080.pdf"
          },
          "isSensitiveDoc": {
            "type": "boolean",
            "description": "set this flag if you want to mark the document as sensitive"
          }
        }
      },
      "CreateCNR": {
        "title": "CreateCNR",
        "required": [
          "DALodgementDate",
          "agencySelection",
          "applicant",
          "applicationType",
          "costOfDevelopment",
          "declarations",
          "commonApplicationTypes",
          "documents",
          "existingDANumber",
          "isApplicationNotified",
          "isApplyBehalfOnCompany",
          "officerResponsible",
          "proposedDevelopmentTypeDescription",
          "securityConditions",
          "updatedBy",
          "siteAddresses"
        ],
        "type": "object",
        "properties": {
          "caseStatus": {
            "maxLength": 32,
            "type": "string",
            "description": "Status of the CNR case."
          },
          "applicationType": {
            "$ref": "#/components/schemas/applicationTypes"
          },
          "DALodgementDate": {
            "type": "string",
            "description": "Date when the original DA was lodged.",
            "format": "date",
            "example": "2020-18-12",
            "minLength": 1
          },
          "existingDANumber": {
            "maxLength": 50,
            "type": "string",
            "description": "holds the DA number related to the application.",
            "minLength": 1
          },
          "securityConditions": {
            "type": "boolean",
            "description": "Used to hold the value of whether are they any security or site conditions which may impact on the person undertaking the inspection."
          },
          "detailsOfSecurityConditions": {
            "maxLength": 512,
            "type": "string",
            "description": "Applicable only when we select 'SecurityConditions' is true and holds the detailed description of securityConditions."
          },
          "originalDADeterminationDate": {
            "type": "string",
            "description": "Date when the original DA was determined and is applicable when 'applicationType' is 'Modification application' or 'Review of determination'. When 'applicationType' is 'Review of determination' and 'isExistingOnlineDA' is true, then this field is not applicable.",
            "format": "date",
            "example": "2020-18-12"
          },
          "modificationType": {
            "$ref": "#/components/schemas/modificationTypes"
          },
          "proposedModificationDescription": {
            "maxLength": 512,
            "type": "string",
            "description": "Required if when 'applicationType' is 'Modification application'"
          },
          "subjectOfReview": {
            "$ref": "#/components/schemas/SubjectOfReview"
          },
          "isExistingOnlineDA": {
            "type": "boolean",
            "description": "Applicable when 'applicationType' is 'Modification application' or 'Review of determination' and this checks whether the DA applied for via the NSW Planning Portal or not"
          },
          "stateAgencyName": {
            "type": "string",
            "description": "This is to track the corresponding stateagency names for which the referrals are created."
          },
          "existingOnlinePANNumber": {
            "maxLength": 10,
            "type": "string",
            "description": "This is to record the provide portal application number (DA Number) applied over NSW Planning Portal."
          },
          "commonApplicationTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CommonApplicationType"
            },
            "description": "This is to track the common Application types. Example values are 1. Advertising and signage 2. Alterations or additions to an existing building or structure 3. Change of use of land or a building or the classification of a building under the Building Code of Australia 4. Demolition 5. Erection of a new structure 6. Hours of operation and trading 7. Subdivision 8. Temporary building, structure or use"
          },
          "subdivisionTypes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "This is to track the appropriate subdivision types. This is applicable when 'Subdivision' is one of the common application type('commonApplicationTypes'). Example values are 1. Strata Title 2. Community Title 3. Torrens Title 4. Stratum Title"
          },
          "numOfExistingLots": {
            "type": "integer",
            "description": "This is to track the number of existing lots. This is applicable when 'Subdivision' is one of the common application types('commonApplicationTypes')."
          },
          "numOfProposedLots": {
            "type": "integer",
            "description": "This is to track the number of proposed lots. This is applicable when 'Subdivision' is one of the common application types('commonApplicationTypes')."
          },
          "developmentType": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/developmentTypes"
            }
          },
          "otherDevType": {
            "maxLength": 100,
            "type": "string",
            "description": "Required when 'Other' is selected in 'developmentType'"
          },
          "proposedDevelopmentTypeDescription": {
            "maxLength": 512,
            "type": "string",
            "description": "Required if when 'applicationType' is 'Development application' or 'Modification application'",
            "minLength": 1
          },
          "isNaturalDisaster": {
            "type": "boolean",
            "description": "Is this application the direct result of a matter declared by the government to be an emergency and/or a natural disaster (for example, an application for re-building a home destroyed by bushfire)"
          },
          "siteAddresses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Location"
            }
          },
          "isApplyBehalfOnCompany": {
            "type": "boolean",
            "description": "Is the user applying on behalf of a company"
          },
          "companyName": {
            "maxLength": 256,
            "type": "string",
            "description": "Infers the name of the company. This is required if 'Is the application on behalf of a company, business or body corporate?' = Yes"
          },
          "ABNorACN": {
            "maxLength": 14,
            "type": "string",
            "description": "Holds the ABN or ACN relating to the company. Lengths allowed are '11' for ABN and '9' for ACN. This is applicable if 'isApplyBehalfOnCompany' = true"
          },
          "applicant": {
            "$ref": "#/components/schemas/Person"
          },
          "councilName": {
            "type": "string",
            "description": "This is to track the council names for which the referrals are created."
          },
          "officerResponsible": {
            "type": "string",
            "description": "This infers the responsible officer in charge for the application",
            "minLength": 1
          },
          "officerNumber": {
            "type": "string",
            "description": "This infers the contact number of responsible officer in charge for the application."
          },
          "officerEmail": {
            "type": "string",
            "description": "This infers the email of responsible officer in charge for the application."
          },
          "costOfDevelopment": {
            "type": "number",
            "description": "Estimated cost of development",
            "format": "decimal"
          },
          "determinedAuthority": {
            "type": "string",
            "description": "It infers Which determining authority is expected to determine the application? One of the below mentioned values must be selected for determinedAuthority 1. Council 2. Sydney or Regional Planning Panel 3. Local Planning Panel 4. Central Sydney Planning Committee",
            "example": "Refer to description for values"
          },
          "panelHearingDate": {
            "type": "string",
            "description": "Infers the date (which is not past) on which the Planning panel hearing will be conducted by the anticipated council. This is applicable only when 'determinedAuthority' is 'Sydney or Regional Planning Panel' or 'Local Planning Panel'",
            "format": "date",
            "example": "2020-18-12"
          },
          "isApplicationNotified": {
            "type": "boolean",
            "description": "Is this case notified or advertised if we select isApplicationExhibited as Yes New Exhibition case will be created."
          },
          "publicSubmissionEndDate": {
            "type": "string",
            "description": "It infers the date by which offline submission need to be received from council. By default, this is 21 days ahead of current date.",
            "format": "date",
            "example": "2020-18-12"
          },
          "agencySelection": {
            "type": "array",
            "description": "Infers the agency selection and it's relevant details.",
            "items": {
              "$ref": "#/components/schemas/agencyAndClause"
            }
          },
          "dateSubmittedToAgency": {
            "type": "string",
            "description": "The date on which agency case is submitted to agency.",
            "format": "date",
            "example": "2020-18-12"
          },
          "documents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Documents"
            }
          },
          "declarations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CNRdeclarations"
            }
          },
          "updatedBy": {
            "$ref": "#/components/schemas/UpdatedBy"
          }
        }
      },
      "UpdateCNR": {
        "title": "CreateCNR",
        "required": [
          "DALodgementDate",
          "agencySelection",
          "applicant",
          "applicationType",
          "costOfDevelopment",
          "declarations",
          "commonApplicationTypes",
          "documents",
          "existingDANumber",
          "isApplicationNotified",
          "isApplyBehalfOnCompany",
          "officerResponsible",
          "proposedDevelopmentTypeDescription",
          "securityConditions",
          "updatedBy",
          "siteAddresses"
        ],
        "type": "object",
        "properties": {
          "caseStatus": {
            "maxLength": 32,
            "type": "string",
            "description": "Status of the CNR case."
          },
          "applicationType": {
            "$ref": "#/components/schemas/applicationTypes"
          },
          "DALodgementDate": {
            "type": "string",
            "description": "Date when the original DA was lodged.",
            "format": "date",
            "example": "2020-18-12",
            "minLength": 1
          },
          "existingDANumber": {
            "maxLength": 50,
            "type": "string",
            "description": "holds the DA number related to the application.",
            "minLength": 1
          },
          "securityConditions": {
            "type": "boolean",
            "description": "Used to hold the value of whether are they any security or site conditions which may impact on the person undertaking the inspection."
          },
          "detailsOfSecurityConditions": {
            "maxLength": 512,
            "type": "string",
            "description": "Applicable only when we select 'SecurityConditions' is true and holds the detailed description of securityConditions."
          },
          "originalDADeterminationDate": {
            "type": "string",
            "description": "Date when the original DA was determined and is applicable when 'applicationType' is 'Modification application' or 'Review of determination'. When 'applicationType' is 'Review of determination' and 'isExistingOnlineDA' is true, then this field is not applicable.",
            "format": "date",
            "example": "2020-18-12"
          },
          "modificationType": {
            "$ref": "#/components/schemas/modificationTypes"
          },
          "proposedModificationDescription": {
            "maxLength": 512,
            "type": "string",
            "description": "Required if when 'applicationType' is 'Modification application'"
          },
          "subjectOfReview": {
            "$ref": "#/components/schemas/SubjectOfReview"
          },
          "isExistingOnlineDA": {
            "type": "boolean",
            "description": "Applicable when 'applicationType' is 'Modification application' or 'Review of determination' and this checks whether the DA applied for via the NSW Planning Portal or not"
          },
          "stateAgencyName": {
            "type": "string",
            "description": "This is to track the corresponding stateagency names for which the referrals are created."
          },
          "existingOnlinePANNumber": {
            "maxLength": 10,
            "type": "string",
            "description": "This is to record the provide portal application number (DA Number) applied over NSW Planning Portal."
          },
          "commonApplicationTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CommonApplicationType"
            },
            "description": "This is to track the common Application types. Example values are 1. Advertising and signage 2. Alterations or additions to an existing building or structure 3. Change of use of land or a building or the classification of a building under the Building Code of Australia 4. Demolition 5. Erection of a new structure 6. Hours of operation and trading 7. Subdivision 8. Temporary building, structure or use"
          },
          "subdivisionTypes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "This is to track the appropriate subdivision types. This is applicable when 'Subdivision' is one of the common application type('commonApplicationTypes'). Example values are 1. Strata Title 2. Community Title 3. Torrens Title 4. Stratum Title"
          },
          "numOfExistingLots": {
            "type": "integer",
            "description": "This is to track the number of existing lots. This is applicable when 'Subdivision' is one of the common application types('commonApplicationTypes')."
          },
          "numOfProposedLots": {
            "type": "integer",
            "description": "This is to track the number of proposed lots. This is applicable when 'Subdivision' is one of the common application types('commonApplicationTypes')."
          },
          "developmentType": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/developmentTypes"
            }
          },
          "otherDevType": {
            "maxLength": 100,
            "type": "string",
            "description": "Required when 'Other' is selected in 'developmentType'"
          },
          "proposedDevelopmentTypeDescription": {
            "maxLength": 512,
            "type": "string",
            "description": "Required if when 'applicationType' is 'Development application' or 'Modification application'",
            "minLength": 1
          },
          "isNaturalDisaster": {
            "type": "boolean",
            "description": "Is this application the direct result of a matter declared by the government to be an emergency and/or a natural disaster (for example, an application for re-building a home destroyed by bushfire)"
          },
          "siteAddresses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Location"
            }
          },
          "isApplyBehalfOnCompany": {
            "type": "boolean",
            "description": "Is the user applying on behalf of a company"
          },
          "companyName": {
            "maxLength": 256,
            "type": "string",
            "description": "Infers the name of the company. This is required if 'Is the application on behalf of a company, business or body corporate?' = Yes"
          },
          "ABNorACN": {
            "maxLength": 14,
            "type": "string",
            "description": "Holds the ABN or ACN relating to the company. Lengths allowed are '11' for ABN and '9' for ACN. This is applicable if 'isApplyBehalfOnCompany' = true"
          },
          "applicant": {
            "$ref": "#/components/schemas/Person"
          },
          "councilName": {
            "type": "string",
            "description": "This is to track the council names for which the referrals are created."
          },
          "officerResponsible": {
            "type": "string",
            "description": "This infers the responsible officer in charge for the application",
            "minLength": 1
          },
          "officerNumber": {
            "type": "string",
            "description": "This infers the contact number of responsible officer in charge for the application."
          },
          "officerEmail": {
            "type": "string",
            "description": "This infers the email of responsible officer in charge for the application."
          },
          "costOfDevelopment": {
            "type": "number",
            "description": "Estimated cost of development",
            "format": "decimal"
          },
          "determinedAuthority": {
            "type": "string",
            "description": "It infers Which determining authority is expected to determine the application? One of the below mentioned values must be selected for 1. Council 2. Sydney or Regional Planning Panel 3. Local Planning Panel 4. Central Sydney Planning Committee",
            "example": "Refer to description for values"
          },
          "panelHearingDate": {
            "type": "string",
            "description": "Infers the date (which is not past) on which the Planning panel hearing will be conducted by the anticipated council. This is applicable only when 'determinedAuthority' is 'Sydney or Regional Planning Panel' or 'Local Planning Panel'",
            "format": "date",
            "example": "2020-18-12"
          },
          "isApplicationNotified": {
            "type": "boolean",
            "description": "Is this case notified or advertised if we select isApplicationExhibited as Yes New Exhibition case will be created."
          },
          "publicSubmissionEndDate": {
            "type": "string",
            "description": "It infers the date by which offline submission need to be received from council. By default, this is 21 days ahead of current date.",
            "format": "date",
            "example": "2020-18-12"
          },
          "agencySelection": {
            "type": "array",
            "description": "Infers the agency selection and it's relevant details.",
            "items": {
              "$ref": "#/components/schemas/agencyAndClause"
            }
          },
          "dateSubmittedToAgency": {
            "type": "string",
            "description": "The date on which agency case is submitted to agency.",
            "format": "date",
            "example": "2020-18-12"
          },
          "documents": {
            "type": "array",
            "description": "This block will be sending the full set of documents.",
            "items": {
              "$ref": "#/components/schemas/Documents"
            }
          },
          "deltaDocuments": {
            "type": "array",
            "description": "This block will be sending the delta documents uploaded or updated as part of update operation.",
            "items": {
              "$ref": "#/components/schemas/Documents"
            }
          },
          "declarations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CNRdeclarations"
            }
          },
          "determination": {
            "$ref": "#/components/schemas/RelayDetermination"
          },
          "updatedBy": {
            "$ref": "#/components/schemas/UpdatedBy"
          }
        }
      },
      "reassign": {
        "title": "reassign",
        "required": [
          "assignee"
        ],
        "type": "object",
        "properties": {
          "assignee": {
            "$ref": "#/components/schemas/UpdatedBy"
          },
          "updatedBy": {
            "$ref": "#/components/schemas/UpdatedBy"
          }
        }
      },
      "PreAssessment": {
        "required": [
          "isAgencyAssessmentReq",
          "updatedBy"
        ],
        "type": "object",
        "properties": {
          "isAgencyAssessmentReq": {
            "$ref": "#/components/schemas/AgencyAssessment"
          },
          "rejectReason": {
            "title": "Please provide reason",
            "type": "string",
            "description": "This infers that the agency need to provide the reason for which the assessment is not required. Mandatory when 'isAgencyAssessmentReq' is- 'Reject' OR 'Reject All'"
          },
          "CNRCaseID": {
            "type": "string",
            "description": "Holds CNR Case ID",
            "example": "CNR-XXX"
          },
          "agencyToBeAssessed": {
            "type": "string",
            "description": "This Infers Agencyname which is performing Preassessment ."
          },
          "agencyOfficer": {
            "title": "Assign case to",
            "maxLength": 32,
            "type": "string",
            "description": "applicable when isAgencyAssessmentReq is \"Accept\" or \"Accept all\""
          },
          "clauseDetails": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClauseDetails"
            }
          },
          "documents": {
            "type": "array",
            "description": "Documents will be avaialble if the isAgencyAssessmentReq is 'Reject' OR 'Reject All'",
            "items": {
              "$ref": "#/components/schemas/DownloadableDocument"
            }
          },
          "agencies": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/agencyInfo"
            }
          },
          "updatedBy": {
            "$ref": "#/components/schemas/UpdatedBy"
          }
        }
      },
      "Decision": {
        "required": [
          "agencyResponse",
          "updatedBy"
        ],
        "type": "object",
        "properties": {
          "agencyResponse": {
            "$ref": "#/components/schemas/DecisionOutcome"
          },
          "decisionComments": {
            "type": "string",
            "description": "It infers the comments from the agency if they have selected agency response as 'Refuse' OR  'Decision not required'. It is mandatory when agency response is 'Decision not required'"
          },
          "documents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DownloadableDocument"
            }
          },
          "agencies": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/agencyInfo"
            }
          },
          "updatedBy": {
            "$ref": "#/components/schemas/UpdatedBy"
          }
        }
      },
      "RejetedClauses": {
        "type": "object",
        "properties": {
          "agencyName": {
            "type": "string",
            "description": "Name of the agency"
          },
          "clauses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RejectedClauseDetails"
            }
          },
          "dateRejected": {
            "type": "string",
            "description": "This infers the name of the agency which has rejected the clause.",
            "format": "date"
          },
          "contactName": {
            "type": "string",
            "description": "It infers the contact name of the agency which has rejected the clause."
          },
          "contactNumber": {
            "type": "string",
            "pattern": "^[0-9]+$",
            "maxLength": 10,
            "minLength": 8,
            "description": "It infers the contact number of the agency which has rejected the clause."
          }
        }
      },
      "IndividualAgencyAssessment": {
        "type": "string",
        "description": "Is agency assessment required? One of the below mentioned values must be selected for IndividualAgencyAssessment. 1. Accept 2. Reject",
        "example": "Refer to description for values"
      },
      "ClauseDetails": {
        "type": "object",
        "properties": {
          "isAgencyAssessmentReq": {
            "$ref": "#/components/schemas/IndividualAgencyAssessment"
          },
          "rejectReason": {
            "type": "string",
            "description": "This infers that the agency need to provide the reason for which the assessment is not required. Mandatory when 'isAgencyAssessmentReq' is- 'Reject'"
          },
          "clauseName": {
            "type": "string",
            "description": "Clause name corresponding to agency case."
          },
          "clauseType": {
            "type": "string",
            "description": "Type of the clause. One of the below mentioned values must be selected for clauseType 1. Concurrence 2. Referral 3. Integrated 4. Notification/Information",
            "example": "Refer to description for values"
          }
        },
        "description": "Applicable when isAgencyAssessmentReq is 'Accept/Reject individually'. Where there are multiple isAgencyAssessmentReq it implies that a single Agency may have multiple clauses to be accepted or Rejected Individually."
      },
      "AgencyAssessment": {
        "type": "string",
        "description": "Is agency assessment required? \"Accept all\",\"Reject all\" and \"Accept/Reject individually\" are only applicable when agency has more than one clause. One of the below mentioned values must be selected for AgencyAssessment 1. Accept 2. Reject 3. Accept all 4. Reject all 5. Accept/Reject individually",
        "example": "Refer to description for values"
      },
      "RejectedClauseDetails": {
        "type": "object",
        "properties": {
          "clause": {
            "type": "string",
            "description": "It infers the clauses which has been rejected by Agency."
          },
          "status": {
            "maxLength": 32,
            "type": "string",
            "description": "It infers the status of the clauses which has been rejected by Agency."
          },
          "reason": {
            "type": "string",
            "description": "It infers the reason which agency has provided while rejecting the clause."
          }
        }
      },
      "cancel": {
        "title": "cancel",
        "required": [
          "cancellationDate",
          "cancellationReason"
        ],
        "type": "object",
        "properties": {
          "cancellationReason": {
            "type": "string",
            "description": "Infers the reason why the case is cancelled. One of the below mentioned values must be selected for cancellationReason 1. All clauses rejected by agencies 2. DA has been withdrawn 3. Other",
            "example": "Refer to description for values",
            "minLength": 1
          },
          "cancelReason": {
            "type": "string",
            "description": "Infers the reason why the case is cancelled if 'Other' is selected."
          },
          "cancellationDate": {
            "type": "string",
            "description": "It infers the date on which the case is cancelled",
            "format": "date",
            "example": "10-12-2022",
            "minLength": 1
          },
          "agencies": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/agencyInfo"
            }
          },
          "updatedBy": {
            "$ref": "#/components/schemas/UpdatedBy"
          }
        }
      },
      "Payment": {
        "title": "CNR_Payemnt",
        "type": "object",
        "properties": {
          "caseStatus": {
            "maxLength": 80,
            "type": "string",
            "description": "Status of the payment case",
            "example": "Paid"
          },
          "paymentStatus": {
            "type": "string",
            "description": "It infers the current status of payment",
            "example": "Approved"
          },
          "caseRef": {
            "maxLength": 32,
            "type": "string",
            "description": "It infers the CNR case number corresponding to which payment case is created",
            "example": "CNR-XXXX"
          },
          "existingDANumber": {
            "maxLength": 50,
            "type": "string",
            "description": "It infers the DA number to which the Payment is being requested"
          },
          "paymentReferenceNumber": {
            "type": "string",
            "description": "Payment reference number"
          },
          "totalAmount": {
            "type": "number",
            "description": "Amount of payment done by applicant",
            "format": "decimal"
          },
          "paymentDueDate": {
            "type": "string",
            "description": "It infers the date by which the payment has to be made by applicant",
            "format": "date",
            "example": "2021-03-18"
          },
          "paymentTransDate": {
            "type": "string",
            "description": "Date of Payment",
            "format": "date",
            "example": "2021-03-18"
          },
          "agencies": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/agencyInfo"
            }
          },
          "documents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Documents"
            }
          },
          "updatedBy": {
            "$ref": "#/components/schemas/UpdatedBy"
          }
        }
      },
      "UploadAgencyCommunication": {
        "title": "UploadAgencyCommunication",
        "type": "object",
        "properties": {
          "caseStatus": {
            "maxLength": 32,
            "type": "string",
            "description": "Status of the CNR case"
          },
          "agencies": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/agencyInfo"
            }
          },
          "uploadAgencyCommunicationDocuments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/councilDocuments"
            }
          },
          "updatedBy": {
            "$ref": "#/components/schemas/UpdatedBy"
          }
        }
      },
      "UploadSubmission": {
        "title": "UploadSubmission",
        "type": "object",
        "properties": {
          "caseStatus": {
            "maxLength": 32,
            "type": "string",
            "description": "Status of the CNR case"
          },
          "noSubmissionRcvd": {
            "type": "boolean",
            "description": "It infers that there is no public submission has been received around the request."
          },
          "closingDate": {
            "type": "string",
            "description": "It infers the expected closing date for public submission.",
            "format": "date"
          },
          "agencies": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/agencyInfo"
            }
          },
          "documents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Documents"
            }
          },
          "updatedBy": {
            "$ref": "#/components/schemas/UpdatedBy"
          }
        }
      },
      "WithdrawAgency": {
        "title": "WithdrawAgency",
        "required": [
          "updatedBy",
          "withdrawalDate"
        ],
        "type": "object",
        "properties": {
          "caseStatus": {
            "maxLength": 32,
            "type": "string",
            "description": "Status of the Agency CNR case"
          },
          "CNRCaseID": {
            "maxLength": 32,
            "type": "string",
            "description": "CNR Case ID.",
            "example": "CNR-XXX"
          },
          "withdrawalDate": {
            "type": "string",
            "description": "Date on which case is withdrawn",
            "format": "date",
            "minLength": 1
          },
          "withdrawalReason": {
            "type": "string",
            "description": "Reason for which the case is withdrawn"
          },
          "agencyBeingWithrawn": {
            "maxLength": 256,
            "type": "string",
            "description": "Agency name withdrawn by council"
          },
          "agencies": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/agencyInfo"
            }
          },
          "documents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DownloadableDocument"
            }
          },
          "updatedBy": {
            "$ref": "#/components/schemas/UpdatedBy"
          }
        }
      },
      "RelayAgencyDecision": {
        "title": "RelayAgencyDecision",
        "required": [
          "agencyResponse",
          "updatedBy"
        ],
        "type": "object",
        "properties": {
          "caseStatus": {
            "type": "string",
            "description": "Status of the Agency case"
          },
          "CNRCaseID": {
            "type": "string",
            "description": "Holds CNR Case ID",
            "example": "CNR-XXX"
          },
          "agencyProvidingDecision": {
            "type": "string",
            "description": "This Infers Agencyname which is performing Decision."
          },
          "agencyResponse": {
            "$ref": "#/components/schemas/DecisionOutcome"
          },
          "decisionComments": {
            "type": "string",
            "description": "It infers the comments from the agency if they have selected agency response as 'Refuse' OR  'Decision not required'. It is mandatory when agency response is 'Decision not required'"
          },
          "agencies": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/agencyInfo"
            }
          },
          "documents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Documents"
            }
          },
          "updatedBy": {
            "$ref": "#/components/schemas/UpdatedBy"
          }
        }
      },
      "DecisionOutcome": {
        "title": "DecisionOutcome",
        "type": "string",
        "description": "It infers the outcome of the decision on the Agency case A-xxx given by agency. One of the below mentioned values must be selected for DecisionOutcome 1. Approve (with conditions) 2. Approve 3. Refuse 4. Advice 5. Decision not required",
        "example": "Refer to description for values"
      },
      "RelayDetermination": {
        "title": "RelayDetermination",
        "required": [
          "determinationOutcome"
        ],
        "type": "object",
        "properties": {
          "determinationOutcome": {
            "title": "This application has been assessed and has been",
            "type": "string",
            "description": "Outcome of the case assessment. One of the below mentioned values must be selected for determinationOutcome 1. Approved 2. Determination provided - deferred commencement consent 3. Refused",
            "example": "Refer to description for values",
            "minLength": 1
          },
          "determinationDate": {
            "type": "string",
            "description": "Date on which this case is determined. It cannot be a future date",
            "format": "date",
            "example": "2020-09-10"
          }
        },
        "description": "This infers as the determination stage of CNR case. Council determining CNR Case is handled as a part of UpdateCNR operation."
      },
      "modificationTypes": {
        "type": "string",
        "description": "Required if when 'applicationType' is 'Modification application'. One of the below mentioned values must be selected for modificationTypes 1. S4.55(1) - Modification to correct a minor error, misdescription or miscalculation made in the consent 2. S4.55(1A) - Modification involving minimal environmental impact, where the development will remain substantially the same as the development that was originally approved 3. S4.55(2) - Other modification, where the development will remain substantially the same as the development that was originally approved 4. S4.56 - Modification to a development consent granted by the NSW Land and Environment Court, where the development will remain substantially the same as the development that was originally approved",
        "example": "Refer to description for values"
      },
      "DownloadableDocument": {
        "title": "DownloadableDocument",
        "required": [
          "documentName",
          "documentType",
          "documentURL",
          "uploadedDateTime"
        ],
        "type": "object",
        "properties": {
          "documentName": {
            "maxLength": 150,
            "type": "string",
            "description": "document Name has to be appended with file extension",
            "example": "test.docx",
            "minLength": 1
          },
          "documentType": {
            "maxLength": 100,
            "type": "string",
            "minLength": 1
          },
          "uploadedDateTime": {
            "type": "string",
            "format": "date-time",
            "minLength": 1
          },
          "documentURL": {
            "maxLength": 500,
            "type": "string",
            "description": "URL of the document to be downloaded",
            "example": "https://api-tst.apps1.nsw.gov.au/planning/external/v1/Documents/Doc2",
            "minLength": 1
          },
          "documentSize": {
            "description": "This indicates the file size of the document in bytes",
            "type": "number"
          },
          "isSensitiveDoc": {
            "type": "boolean",
            "description": "set this flag if you want to mark the document as sensitive"
          },
          "updatedBy": {
            "type": "string",
            "example": "Council"
          }
        }
      },
      "UpdatedBy": {
        "title": "UpdatedBy",
        "type": "object",
        "properties": {
          "person": {
            "$ref": "#/components/schemas/PersonBody"
          }
        }
      },
      "PersonBody": {
        "title": "PersonBody",
        "required": [
          "email",
          "familyName",
          "firstName"
        ],
        "type": "object",
        "properties": {
          "firstName": {
            "maxLength": 20,
            "type": "string",
            "example": "John",
            "minLength": 1
          },
          "familyName": {
            "maxLength": 20,
            "type": "string",
            "example": "Smith",
            "minLength": 1
          },
          "email": {
            "maxLength": 250,
            "type": "string",
            "description": "User must be registered in the planning portal",
            "example": "john.smith@gmail.com",
            "minLength": 1
          },
          "contactNumber": {
            "type": "string",
            "maxLength": 10,
            "minLength": 8,
            "pattern": "^[0-9]+$"
          }
        }
      },
      "AdditionalInfo": {
        "type": "object",
        "properties": {
          "agencyname": {
            "type": "string",
            "description": "Name of the agency who requested the AI"
          },
          "comments": {
            "maxLength": 256,
            "type": "string",
            "description": "Comments by the agency for AI"
          },
          "requestDate": {
            "type": "string",
            "description": "Date of request for addition information",
            "format": "date",
            "example": "2021-03-18"
          },
          "responseDate": {
            "type": "string",
            "description": "Date on which response for addition information came.",
            "format": "date",
            "example": "2021-03-18"
          }
        }
      },
      "ProvideAdditionalInfo": {
        "type": "object",
        "properties": {
          "isRespond": {
            "type": "boolean",
            "description": "It infers that if an applicant wants to respond on request of additional information"
          },
          "agencyRequestedAI": {
            "type": "string",
            "description": "Name of the agency who requested the Additionl Information."
          },
          "agencyCaseID": {
            "type": "string",
            "description": "A fully qualified agency case number.",
            "example": "A-XXXX"
          },
          "comments": {
            "maxLength": 256,
            "type": "string",
            "description": "Comments by the agency for AI"
          },
          "status": {
            "maxLength": 32,
            "type": "string",
            "description": "Additional information request status."
          },
          "requestDate": {
            "type": "string",
            "description": "Date of request for addition information",
            "format": "date",
            "example": "2021-03-18"
          },
          "responseDate": {
            "type": "string",
            "description": "Date on which response for addition information came.",
            "format": "date",
            "example": "2021-03-18"
          },
          "councilComments": {
            "maxLength": 512,
            "type": "string",
            "description": "This is to track the AI response comments on CNR case from council to agency. There comments are optional for council to provide while responding to AI."
          }
        }
      },
      "ClauseList": {
        "type": "object",
        "properties": {
          "agencyname": {
            "type": "string",
            "description": "Name of the agency who requested the AI"
          },
          "clauseName": {
            "type": "string",
            "description": "clause name corresponding to agency"
          },
          "decisionOutcome": {
            "type": "string",
            "description": "Outcome of the agency decision"
          },
          "decisionDate": {
            "type": "string",
            "description": "Date on which decision provided",
            "format": "date",
            "example": "2021-03-18"
          },
          "decisionDueDate": {
            "type": "string",
            "description": "Decision Due date.",
            "format": "date",
            "example": "2021-03-18"
          }
        }
      },
      "SubjectOfReview": {
        "type": "string",
        "description": "It infers that What type of decision is subject of this review of determination?. One of the below mentioned values must be selected for SubjectOfReview 1. Determination of a Development Application 2. Determination of a Modification Application",
        "example": "Refer to description for values"
      },
      "developmentTypes": {
        "type": "string",
        "description": "This is to track the type of development proposed."
      },
      "Location": {
        "title": "Location",
        "required": [
          "address"
        ],
        "type": "object",
        "properties": {
          "address": {
            "maxLength": 250,
            "type": "string",
            "description": "Address where the development is happening",
            "example": "19-33 Elizabeth Street, Narrandera, 2700",
            "minLength": 1
          },
          "isPrimary": {
            "type": "boolean",
            "description": "It differentiates the secondary addresses"
          },
          "addressDetail": {
            "$ref": "#/components/schemas/AddressDetail"
          },
          "lotList": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LotSectionPlan"
            }
          }
        }
      },
      "AddressDetail": {
        "required": [
          "latitude",
          "longitude",
          "postCode",
          "state",
          "streetName",
          "suburb"
        ],
        "type": "object",
        "properties": {
          "complexUnitType": {
            "type": "string"
          },
          "complexLevelType": {
            "type": "string"
          },
          "complexLevelNumber": {
            "type": "string"
          },
          "complexUnitIdentifier": {
            "type": "string"
          },
          "streetNumber1": {
            "type": "string"
          },
          "streetNumber2": {
            "type": "string"
          },
          "streetName": {
            "type": "string",
            "minLength": 1
          },
          "streetSuffix": {
            "type": "string"
          },
          "streetType": {
            "type": "string"
          },
          "suburb": {
            "type": "string",
            "minLength": 1
          },
          "latitude": {
            "type": "number"
          },
          "gurasID": {
            "type": "string"
          },
          "longitude": {
            "type": "number"
          },
          "wkid": {
            "type": "string"
          },
          "cadastralID": {
            "type": "string"
          },
          "primarySecondary": {
            "type": "string"
          },
          "state": {
            "type": "string",
            "minLength": 1
          },
          "postCode": {
            "type": "number"
          }
        }
      },
      "LotSectionPlan": {
        "required": [
          "lotsectionplan"
        ],
        "type": "object",
        "properties": {
          "lotsectionplan": {
            "type": "string",
            "example": "1/-/SPXXXXX",
            "minLength": 1
          }
        }
      },
      "agencyAndClause": {
        "type": "object",
        "properties": {
          "agencyName": {
            "type": "string",
            "description": "Name of the agency"
          },
          "agencyOfficerEmail": {
            "type": "string",
            "description": "This is to track the email of the agency officer."
          },
          "agencyCaseID": {
            "type": "string",
            "description": "A fully qualified agency case number.",
            "example": "A-XXXX"
          },
          "agencyCaseStatus": {
            "type": "string",
            "description": "Status of the agency case."
          },
          "clauses": {
            "type": "array",
            "description": "The clause applicable for the corresponding agency.",
            "items": {
              "$ref": "#/components/schemas/clauseList"
            }
          },
          "commentsForAgency": {
            "maxLength": 512,
            "type": "string",
            "description": "Infers to comments or notes a council user would like to add for the Agency."
          }
        },
        "description": "Holds the agency name and the clauses relating to it."
      },
      "agencyInfo": {
        "type": "object",
        "properties": {
          "agencyName": {
            "maxLength": 256,
            "type": "string",
            "description": "Name of the agency"
          },
          "agencyCaseID": {
            "type": "string",
            "description": "A fully qualified agency case number.",
            "example": "A-XXXX or CL-XXX (CL-XXX  Applicable only for 'Biodiversity' Clause)"
          },
          "agencyCaseStatus": {
            "type": "string",
            "description": "Status of the agency case."
          },
          "agencyAmount": {
            "type": "integer",
            "description": "only Applicable for Payment operation only and its an individual agency disbursement"
          }
        },
        "description": "Holds the agency related information such as name and the clauses relating to it."
      },
      "clauseList": {
        "type": "object",
        "properties": {
          "clauseName": {
            "type": "string",
            "description": "The clause applicable for the corresponding agency."
          },
          "otherClauseDescription": {
            "type": "string",
            "description": "This infers the Clause description when 'other' as clause is selected."
          },
          "clauseType": {
            "type": "string",
            "description": "Type of the clause. One of the below mentioned values must be selected for clauseType 1. Concurrence 2. Referral 3. Integrated 4. Notification/Information",
            "example": "Refer to description for values"
          },
          "BAMAssessment": {
            "type": "string",
            "description": "Applicable when clause is chosen as 'Biodiversity Conservation Act 2016 - Part 7.12' and this infers the BAM assessment number associated with clause"
          },
          "reductionOfBiodiversityCredits": {
            "type": "boolean",
            "description": "Applicable when clause is chosen as 'Biodiversity Conservation Act 2016 - Part 7.12' and this infers if the council supports the request for reduction of the bio diversified credits"
          }
        }
      },
      "CNRdeclarations": {
        "type": "string",
        "description": "Declarations by council for Concurrence and Referral case. One of the below mentioned values must be selected for CNRdeclarations 1. I confirm that all applicable clauses have been selected based on the information available to me. I note that future changes may affect assessment times and applicant fees. 2. I declare that the applicant has authorised the consent authority to disclose their personal information to the Department of Planning and Environment for the purpose of assessing their application, and that their personal information will be disclosed to other NSW Government agencies for the purpose of assessing their application.",
        "example": "Refer to description for values"
      },
      "Person": {
        "required": [
          "contactNumber",
          "email",
          "familyName",
          "firstName"
        ],
        "type": "object",
        "properties": {
          "firstName": {
            "maxLength": 20,
            "type": "string",
            "minLength": 1
          },
          "familyName": {
            "maxLength": 20,
            "type": "string",
            "minLength": 1
          },
          "address": {
            "type": "string"
          },
          "contactNumber": {
            "maxLength": 10,
            "minLength": 8,
            "pattern": "^[0-9]+$",
            "type": "string"
          },
          "email": {
            "maxLength": 250,
            "type": "string",
            "format": "email",
            "example": "abc@yopmail.com",
            "minLength": 1
          }
        }
      },
      "Documents": {
        "title": "DownloadableDocument",
        "required": [
          "documentName",
          "documentType",
          "documentURL",
          "uploadedDateTime"
        ],
        "type": "object",
        "properties": {
          "documentName": {
            "maxLength": 150,
            "type": "string",
            "description": "documentName has to be appended with file extension",
            "example": "test.docx",
            "minLength": 1
          },
          "documentType": {
            "maxLength": 100,
            "type": "string",
            "minLength": 1
          },
          "uploadedDateTime": {
            "type": "string",
            "format": "date-time",
            "minLength": 1
          },
          "documentURL": {
            "maxLength": 500,
            "type": "string",
            "description": "URL of the document to be downloaded",
            "minLength": 1
          },
          "documentSize": {
            "description": "This indicates the file size of the document in bytes",
            "type": "number"
          },
          "isSensitiveDoc": {
            "type": "boolean",
            "description": "set this flag if you want to mark the document as sensitive"
          },
          "updatedBy": {
            "type": "string",
            "example": "Council"
          }
        }
      },
      "councilDocuments": {
        "title": "DownloadableDocument",
        "required": [
          "documentName",
          "documentType",
          "documentURL",
          "uploadedDateTime"
        ],
        "type": "object",
        "properties": {
          "agencyName": {
            "type": "string",
            "description": "agency name corresponds to upload communication."
          },
          "documentName": {
            "maxLength": 150,
            "type": "string",
            "description": "documentName has to be appended with file extension",
            "example": "test.docx",
            "minLength": 1
          },
          "documentType": {
            "maxLength": 100,
            "type": "string",
            "minLength": 1
          },
          "uploadedDateTime": {
            "type": "string",
            "format": "date-time",
            "minLength": 1
          },
          "documentURL": {
            "maxLength": 500,
            "type": "string",
            "description": "URL of the document to be downloaded",
            "minLength": 1
          },
          "documentSize": {
            "description": "This indicates the file size of the document in bytes",
            "type": "number"
          },
          "isSensitiveDoc": {
            "type": "boolean",
            "description": "set this flag if you want to mark the document as sensitive"
          },
          "updatedBy": {
            "type": "string",
            "example": "Council"
          }
        }
      },
      "CommonApplicationType": {
        "type": "object",
        "properties": {
          "commonApplicationType": {
            "type": "string"
          }
        }
      },
      "applicationTypes": {
        "title": "applicationTypes",
        "type": "string",
        "description": "This indicates the kind of application such as Development application, Modification application, Review of determination. One of the below mentioned values must be selected for applicationTypes 1. Development application 2. Modification application 3. Review of determination",
        "example": "Refer to description for values"
      }
    }
  }
}